import sqlite3

con=sqlite3.connect('test.db')
c=con.cursor()
# c.execute('''create table user(
# id integer primary key autoincrement,
# name text,
# gender text)''')
c.execute('insert into user values (null,?,?)',('何伟','男'))

c.executemany('insert into user values (null,?,?)',
              (('杨萍','女'),
              ('马青青','女'),
              ('马宁','女')))
print("插入的行数:",c.rowcount)
con.commit()
c.execute('select * from user where gender=?',('女',))
# print(c.description)
for col in (c.description):
    print(col[0],end='\t')
print("\n-----------------------")

users= c.fetchall()
# cursor.rowcount并不是查询的记录数
print("返回的记录数：" , c.rowcount)
print("返回的记录数：" , c.arraysize)
print("返回的记录数：", len(users))

for user in users:
    print(user)

# 使用Cursor对象执行insert，update，delete语句时，执行结果由rowcount返回影响的行数，就可以拿到执行结果。
#
# 使用Cursor对象执行select语句时，通过featchall()可以拿到结果集。结果集是一个list，每个元素都是一个tuple，对应一行记录。

# while True:
#     row=c.fetchone()
#     if not row:
#         break
#     print(row)

c.close()
con.close()